Basically, yes. There are two common ways to execute a shell script:
shell$ sh filename
The former executes a script in the current directory, and depends on the shebang to determine if another interpreter should be used besides the shell you are using to execute the script. The latter indicates that you want to execute the script specifically using the 'sh' interpreter, which is usually a symlink pointing to Bash shell.
If you wrote a perl script, you might execute it like:
shell$ perl filename
Note that using the ./ method requires that the scripts execute bit be set (make the script executable), while the 'sh' method will execute a script even if it isn't set executable.