Existe uma grande diferença.
Vamos pegar o seguinte script chamado testScript (configurado para usar / bin / ksh como você vê no hashbang):
#!/bin/ksh
#im testscript
cd /proc/$$
file exe
Primeiro, vamos executá-lo com ./:
$ ./testscript
exe: symbolic link to /bin/ksh93
Agora chamando o bash:
$ bash testscript
exe: symbolic link to /bin/bash
Você vê a diferença? O interpretador usado pelo script foi alterado no segundo comando, portanto, se o script depender de algum código específico do ksh , ele será quebrado e, de outra forma, se os scripts dependerem de bash código específico, então vai quebrá-lo com o primeiro comando.
Outro teste que você pode fazer é ecoar $ PATH nos dois casos diferentes de execução.