Переключиться с содержимого файла на STDIN в конвейерной команде? (Linux Shell)

У меня есть программа (которую я не написал), которая не предназначена для чтения команд из файла. Ввод команд на STDIN довольно утомителен, поэтому я хотел бы иметь возможность автоматизировать его, записав команды в файл для повторного использования. Проблема в том, что если программа нажмет EOF, она будет бесконечно циклически пытаться прочитать следующую команду, выбрасывая бесконечный поток пунктов меню на экран.

То, что я хотел бы сделать, это направить файл, содержащий команды, в программу через канал, а затем использовать какую-то магию оболочки, чтобы он переключался с файла на STDIN, когда достигнет EOF файла.

Примечание: я уже рассматривал возможность использования cat с '-' для STDIN. К сожалению (я не знал этого раньше), переданные по очереди команды piped ожидают завершения вывода первой программы - они не работают параллельно. Если есть какой-то способ заставить программы работать параллельно с таким действием, это сработает!

есть идеи? Спасибо за любую помощь!

РЕДАКТИРОВАТЬ:

Я должен отметить, что моя цель не только не дать системе попасть в конец командного файла. Я хотел бы иметь возможность продолжать вводить команды с клавиатуры, когда файл попадает в EOF.

Ответы на вопрос(4)

Ваш ответ на вопрос