Quando você faz bash some/file
, o bash lê esse arquivo, analisa seu conteúdo de acordo com as regras de sintaxe do bash e executa os comandos resultantes. Arquivos válidos são geralmente chamados de "scripts", e seu conteúdo é muito parecido com o que você realmente digita em um shell. Programas compilados contêm instruções de máquina. Você usa zsh - você espera que ele entenda as instruções da máquina? Zsh não, e nem faz bash.
Se você quiser usar o bash para executar um comando, use a opção -c
:
bash -c '/some/command'
Mas não há muito sentido em fazê-lo quando o comando em si é executável. Se você puder executá-lo usando /some/command
, use-o diretamente.