Eu estava procurando uma solução para essa pergunta básica. Quase perdi o comentário do @Thomas Dickey que me proporcionou a solução mais elegante.
echo -e $(cat test.txt)
Algumas coisas que não funcionaram para mim são (aparentemente você não pode mandar coisas para ecoar)
cat test.txt | echo -e
ou
less -R test.txt
Outro problema que tive foi que echo e não imprimiu novas linhas e espaços em branco contíguos dentro do arquivo bem. Para imprimi-los, usei o seguinte.
echo -ne $(cat test.txt | sed 's/$/\n/' | sed 's/ /\a /g')
Isso funciona para um arquivo test.txt contendo
\e[0;31mExa mple\e[0m
\e[0;31mExample line2\e[0m