diff --git a/src/Runtime/Runtime.php b/src/Runtime/Runtime.php
index <HASH>..<HASH> 100644
--- a/src/Runtime/Runtime.php
+++ b/src/Runtime/Runtime.php
@@ -424,8 +424,8 @@ class Runtime
             $cmdDelegate = sprintf('cd %s && %s', $hostPath, $cmdDelegate);
         }
 
-        $cmdRemote = str_replace(['"', '&', ';', '|'], ['\"', '\&', '\;', '\|'], $cmdDelegate);
-        $cmdLocal = sprintf('ssh -p %d %s %s@%s sh -c \"%s\"', $sshConfig['port'], $sshConfig['flags'], $user, $host, $cmdRemote);
+        $cmdRemote = str_replace('"', '\"', $cmdDelegate);
+        $cmdLocal = sprintf('ssh -p %d %s %s@%s "%s"', $sshConfig['port'], $sshConfig['flags'], $user, $host, $cmdRemote);
 
         return $this->runLocalCommand($cmdLocal, $timeout);
     }
[Fix] Fixes escaping issues on remote commands