A saída da expansão do parâmetro é:
$ echo "${1#*:}"
echo blah
Bem, sim, neste caso específico:
$ set -- "test:echo blah"
$ eval "${1#*:}"
blah
$ ${1#*:}
blah
Execute o mesmo comando. Mas isso nem sempre é verdade:
$ "${1#*:}"
bash: echo blah: command not found
Na verdade, uma string que contenha caracteres meta do shell não funcionará corretamente, mesmo que não seja citada.
$ set -- "test:echo blah > file"
${1#*:}
blah > file
O redirecionamento não aconteceu, mas (cuidado com o fato de que um arquivo será criado):
$ eval "${1#*:}"
Criará um arquivo chamado arquivo no PWD.