Acho que você está falando sobre o rlwrap .
rlwrap runs the specified command, intercepting user input in order to provide readline's line editing, persistent history and completion. rlwrap tries to be completely transparent - you (or your shell) shouldn't notice any difference between command and rlwrap command - except the added readline functionality, of course. This should even hold true when you are re-directing, piping and sending signals from and to command, or when command manipulates its terminal settings. rlwrap man page