From Bash Manual
$0
Expands to the name of the shell or shell script. This is set at shell initialization.If Bash is invoked with a file of commands (see Section 3.8 [Shell Scripts], page 39),
$0
is set to the name of that file.If Bash is started with the
-c
option (see Section 6.1 [Invoking Bash], page 80), then$0
is set to the first argument after the string to be executed, if one is present.Otherwise, it is set to the filename used to invoke Bash, as given by argument zero.
I understand the first two cases, but not the last one. What do "otherwise" and "the filename used to invoke Bash" mean specifically?