Você não está executando NewFile.sh
, você está executando o comando sh
, provavelmente /bin/sh
passando NewFile.sh
como argumento.
sh
acontece para ler o que está neste arquivo e executá-lo. Ele não verifica a permissão de execução por design, supondo que você saiba o que está fazendo.