Lo script Groovy che hai fornito sta formattando la prima riga come una riga vuota nello script risultante. Lo shebang, che dice allo script di essere eseguito con /bin/bash invece di /bin/sh, deve essere sulla prima riga del file o verrà ignorato.
Quindi, invece, dovresti formattare il tuo Groovy in questo modo:
stage('Setting the variables values') {
steps {
sh '''#!/bin/bash
echo "hello world"
'''
}
}
E verrà eseguito con /bin/bash.
Secondo questo documento, dovresti essere in grado di farlo in questo modo:
node {
sh "#!/bin/bash \n" +
"echo \"Hello from \$SHELL\""
}