Use rlwrap . O utilitário rlwrap agrupa qualquer utilitário em que você o utiliza para adquirir um histórico de ReadLine (junto com alguns recursos de edição do ReadLine, como o que você está acostumado no prompt bash ). Ele armazenará o histórico em um arquivo em $RLWRAP_HOME (ou $HOME se essa variável não estiver definida).
Com rlwrap , você seria capaz de fazer
rlwrap cat begin.txt - | myprogram
Da próxima vez que você executar isto, você terá um histórico básico que você pode rolar com as teclas Seta para cima e Seta para baixo . O histórico seria, por padrão, armazenado em ~/.cat_history .
Consulte o manual de rlwrap ( man rlwrap ) para mais informações.