O problema é que, ao fazer bash -c '....' , você está gerando uma sessão não interativa (e sem login) de bash , que não irá source de qualquer arquivo de configuração de tempo de execução, por exemplo. ~/.bashrc .
Como você definiu o alias em ~/.bashrc , é possível usar a opção -i para que bash possa simular o ambiente interativo e, portanto, source o arquivo ~/.bashrc :
bash -ic '....'
Agora, o alias deve estar disponível.
Exemplo:
$ alias l
alias l='ls'
$ bash -c 'l'
bash: l: command not found
$ bash -ic 'l'
bar foo