ためしにmkfifoで作成した名前付きパイプ /tmp/named_pipeを使って
<対話型コマンド> < /tmp/named_pipe として、echo "1つ目のコマンド" > /tmp/named_pipeを実行したところ、1つ目のコマンドの実行しかできませんでした。
echo コマンドの終了時に、名前付きパイプに EOF が来るのではないでしょうか。
一度の echo で複数行を送るのが簡単だと思います。
echo -e "1つ目のコマンド\n2つ目のコマンド" >/tmp/named_pipe
あるいは、「対話型コマンド」に直接 名前付きパイプ を読ませるのはやめる。たとえば下記のように cat で繰り返し 名前付きパイプ を読ませ、それを「対話型コマンド」に送るというのはどうでしょう。
while cat </tmp/named_pipe1; do continue; done |対話型コマンド
ありがとうございます!いけました!