Os aliases são expandidos apenas se o comando aparecer diretamente no código, sem qualquer expansão. Escrever coisas como \a , $V , $(echo a) , etc. suprime a pesquisa de alias.
Além disso, o bash (ao contrário de outros shells) não expande os aliases nos scripts por padrão, então a na verdade não não executa o alias no bash.
Use uma função em vez de um alias. Você precisará usar o nome original para definir a função.
V=a
a () { echo test; }
"$V" # prints test
(Existem outras maneiras de fazer algo parecido com o que você quer usando eval , mas não use eval a menos que você saiba exatamente o que está fazendo. Citando coisas corretamente com eval é complicado.)