o problema é a falta de she-bang, então o arquivo é carregado pelo próprio shell.
link
$ echo 'echo abc' > a
$ ls -l a
-rw-r--r-- 1 marco Administrators 9 Apr 10 13:28 a
$ ./a
abc
$ echo '#!/bin/bash\recho abc' > a
$ ls -l a
-rw-r--r-- 1 marco Administrators 22 Apr 10 13:29 a
$ ./a
-bash: ./a: Permission denied