rlwrap is a 'readline wrapper' that uses the GNU readline library to allow the editing of keyboard input for any other command. Input history is remembered across invocations, separately for each command; history completion and search work as in bash and completion word lists can be specified on the command line. You will need to create the ~/.rlwrap directory (or wherever RLWRAP_HOME is set to) or rlwrap will complain and exit.