Задача 1. Написать программу redir, которая, будучи запущена в виде "redir cmd file", запускает программу cmd, перенаправляя ее вывод в файл file. Замечание: fork() использовать не нужно. Задача 2. Написать программу, которая выводит список обычных файлов в домашнем каталоге пользователя. Использовать ls(1), grep(1) и неименованный канал для построения конвейера. Усложнение: - Построить еще один конвейер с less(1). - Брать домашний каталог из переменной окружения HOME. Задача 3. Модифицировать программу cat, написанную на предыдущем семинаре так, чтобы она работала не более 5 секунд, после чего выводила текст "Time is out!" и завершала работу. Использовать SIGALRM.