Зад. 2 Напишете две програми на C (foo и bar), които си комуникират през наименована тръба.
Програмата foo приема параметър – имена файл,
програмата bar приема параметър – команда като абсолютен път до изпълним файл.
Примерни извиквания и ред на изпълнение (в отделни терминали):
./foo a.txt
./bar /usr/bin/sort
Програмата foo трябва да изпълнява външна команда cat с аргумент името на подадения файл, така че съдържанието му да се прехвърли през
тръбата към параметър програмата bar, която от своя страна трябва да изпълни подадената ѝ като аргумент команда без параметри (/usr/bin/sort в примера),
която да обработи получените през тръбата данни, четейки от стандартния вход. Еквивалент на горния пример би било следното изпълнение:
cat a.txt | /usr/bin/sort
Алтернативен вариант за тестване на програмите foo и bar с един терминал:
./foo a &
./bar /usr/bin/sort
(& ще изпълни програмата в background режим)