Define PATH inside of helper image
## Overview
Hello all,
We are running gitlab-runner on Kubernetes and our cloud provider recently upgraded the underlying containerd container runtime to v1.2.8.
There is an underlying change, which causes the following errors on the runners `helper` image:
```
failed to create containerd task: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"sh\": executable file not found in $PATH": unknown
```
Steps to reproduce on kubernetes with containerd v1.2.8:
```
kubectl run -it --image gitlab/gitlab-runner-helper:x86_64-f100a208 msvechltest --command -- sh
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
Error from server (NotFound): pods "" not found
# we dont get a shell...
```
Further debugging shows:
```
kubectl describe pod msvechltest-5c77c798b7-nn2dp
Last State: Terminated
Reason: StartError
Message: failed to create containerd task: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"sh\": executable file not found in $PATH": unknown
```
[There already is an issue open on containerd about this](https://github.com/containerd/containerd/issues/3597), and a [MR is already scheduled for the next release](https://github.com/containerd/containerd/pull/3565) which fixes this behaviour in some cases.
Apparently this happens on images where no default `$PATH` variable is set. While a fix for this is scheduled to be released soon, it might make sense to fix the environment of the helper image.
## Proposal
The root-cause stems from https://gitlab.com/gitlab-org/gitlab-runner/blob/master/shells/bash.go#L227 where `sh` is executed without an absolute path. While it makes sense to have it without an absolute path here, adding a default `$PATH` to the helper image might make sense.
issue