diff --git a/pkg/commands/cmd.go b/pkg/commands/cmd.go index 9d53bd98e..79f13770e 100644 --- a/pkg/commands/cmd.go +++ b/pkg/commands/cmd.go @@ -35,8 +35,13 @@ func (c *CmdCommand) ExecuteCommand(config *v1.Config) error { var newCommand []string if c.cmd.PrependShell { // This is the default shell on Linux - // TODO: Support shell command here - shell := []string{"/bin/sh", "-c"} + var shell []string + if len(config.Shell) > 0 { + shell = config.Shell + } else { + shell = append(shell, "/bin/sh", "-c") + } + newCommand = append(shell, strings.Join(c.cmd.CmdLine, " ")) } else { newCommand = c.cmd.CmdLine diff --git a/pkg/commands/entrypoint.go b/pkg/commands/entrypoint.go index a753dc5ee..7310c2faf 100644 --- a/pkg/commands/entrypoint.go +++ b/pkg/commands/entrypoint.go @@ -34,8 +34,13 @@ func (e *EntrypointCommand) ExecuteCommand(config *v1.Config) error { var newCommand []string if e.cmd.PrependShell { // This is the default shell on Linux - // TODO: Support shell command here - shell := []string{"/bin/sh", "-c"} + var shell []string + if len(config.Shell) > 0 { + shell = config.Shell + } else { + shell = append(shell, "/bin/sh", "-c") + } + newCommand = append(shell, strings.Join(e.cmd.CmdLine, " ")) } else { newCommand = e.cmd.CmdLine diff --git a/pkg/commands/run.go b/pkg/commands/run.go index 849f012d7..7eb545f19 100644 --- a/pkg/commands/run.go +++ b/pkg/commands/run.go @@ -36,8 +36,13 @@ func (r *RunCommand) ExecuteCommand(config *v1.Config) error { var newCommand []string if r.cmd.PrependShell { // This is the default shell on Linux - // TODO: Support shell command here - shell := []string{"/bin/sh", "-c"} + var shell []string + if len(config.Shell) > 0 { + shell = config.Shell + } else { + shell = append(shell, "/bin/sh", "-c") + } + newCommand = append(shell, strings.Join(r.cmd.CmdLine, " ")) } else { newCommand = r.cmd.CmdLine