Do manual :
If arguments remain after option processing, and neither the
-cnor the-soption has been supplied, the first argument is assumed to be the name of a file containing shell commands.
Portanto bash date significa "leia o arquivo date e execute os comandos do shell que ele contém". Supondo que não exista nenhum arquivo date no diretório atual, bash procura o caminho e encontra /bin/date , que é um binário em vez de um script de shell, daí o erro.