Seu echo "$a" imprime "olá", depois volta para o início da linha (que é o que \r faz), imprime "novamente", volta novamente, imprime "george", volta novamente e vai para a próxima linha ( \n ). É tudo perfeitamente normal, mas como chepner aponta, isso não tem nada a ver com o Bash: \r e \n são interpretados pelo terminal, não pelo Bash (é por isso que você obtém a saída completa quando canaliza o comando para od ).
Você pode ver isso melhor com
$ a=$(printf "hellooooo\r again,\rgeorge\r\n")
$ echo "$a"
pois isso deixará o fim do texto sobrescrito:
georgen,o
Você não pode realmente usar isso para ocultar comandos, apenas a saída deles (e somente se você pode sobrescrever com caracteres suficientes), a menos que use eval conforme mostrado (mas usar eval geralmente não é recomendado). Um truque mais perigoso é usar usando CSS para mascarar comandos destinados a serem copiados e colados de sites da Web.