Você pode, talvez, fazer o que quiser usando a linha de leitura de bash com -i , que fornece uma entrada inicial para -e edit. Por exemplo, usando date em vez de ls , pois é mais simples de ver:
$ read -ei "$(date)" && $REPLY
Mon Jul 25 13:42:47 CEST 2016
Agora você tem a string Mon Jul 25 13:42:47 CEST 2016 como mostrado com o cursor no final. Você pode editar isso usando as teclas de cursor habituais e assim por diante. Por exemplo, você pode editar a data 25 a 20 e, em seguida, adicionar echo ao início, dando
echo Mon Jul 20 13:42:47 CEST 2016
Quando você pressiona return, a linha read é colocada na variável REPLY , que você executa. Isso é um pouco frágil, pois a resposta é dividida em espaços e assim por diante. Você pode adicionar citações e um eval:
$ read -ei "$(date)" && eval "$REPLY"
Então, se você editar a linha, alterando 25 como antes, insira um comando que precise de um argumento com espaços, por exemplo:
date +%s -d 'Mon Jul 20 13:42:47 CEST 2016'
você receberá a resposta correta 1469014967 . Como sempre, cuidado com eval.