ps и /proc/$$/cmdline не показывают аргументы скрипта без shebang
Я столкнулся с поведением, которое не могу объяснить. Когда я запускаю скрипт bash без shebang, команда ps не будет показывать скрипт и его аргументы в качестве аргументов, переданных bash, также не будет /proc/$$/cmdline, тогда как если я запускаю скрипт с shebang, поведение будет ожидается.
Пример с шебангом:
# cat mytest
#!/bin/bash
echo my name is $1
cat /proc/$$/cmdline
echo
ps -p $$ -o args=
# ./mytest John
my name is John
/bin/bash./mytestJohn
/bin/bash ./mytest John
Пример без шебанга:
# cat mytest
echo my name is $1
cat /proc/$$/cmdline
echo
ps -p $$ -o args=
# ./mytest John
my name is John
-bash
-bash
В обоих случаях сценарий будет отображать "меня зовут Джон", но без шебанга я вижу процесс bash без каких-либо аргументов. Как это возможно?