shell executor bugs out when loginshell != bash

Summary

Starting a build from gitlab will fail immediately, if the runner uses ssh and a user with a different shell than bash

Steps to reproduce

Setup a gitlab runner with ssh executor, run under a user which has /bin/sh as login shell. (and /bin/sh is not bash)

usermod -s /bin/sh build
.gitlab-ci.yml
```yaml
firmware:
  stage: build
  script:
  - '#!/bin/sh -e'
  - echo hello

Actual behavior

Build fails before a single line of the script is executed

Expected behavior

Output from the script

Relevant logs and/or screenshots

job log
Running with gitlab-runner 11.9.2 (fa86510e)
  on xyz aaaaaa
Using SSH executor...
sh: 1: $bash: not found
sh: 1: $bash: not found
ERROR: Job failed: Process exited with: 127. Reason was:  ()

Environment description

Local gitlab instance running from docker.

config.toml contents
concurrent = 1
check_interval = 0

[[runners]]
  name = "desbuild"
  url = "http://10.99.11.2/"
  token = "xyz"
  executor = "ssh"
  [runners.ssh]
    user = "build"
    host = "10.99.11.1"
    identity_file = "/home/build/.ssh/id_rsa"
  [runners.cache]

Used GitLab Runner version

Version:      11.9.2
Git revision: fa86510e
Git branch:   
GO version:   go1.8.7
Built:        2019-04-09T20:00:28+0000
OS/Arch:      linux/amd64
Edited by 🤖 GitLab Bot 🤖