send as several commands separated with backslash
diff --git a/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEExecEnvironment.java b/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEExecEnvironment.java
index 4689661..13e5210 100644
--- a/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEExecEnvironment.java
+++ b/rse/plugins/org.eclipse.dltk.rse.core/src/org/eclipse/dltk/core/internal/rse/RSEExecEnvironment.java
@@ -33,10 +33,11 @@
 
 	private static final String SHELL_PATH = "exec /bin/sh"; //$NON-NLS-1$
 
-	private static final String CMD_SEPARATOR = " ;"; //$NON-NLS-1$
+	private static final String CMD_SEPARATOR = ";"; //$NON-NLS-1$
 	private static final String EXPORT_CMD = ";export "; //$NON-NLS-1$
 	private final static String EXIT_CMD = "exit"; //$NON-NLS-1$
 	private static final String SET_CMD = "set"; //$NON-NLS-1$
+	private static final String BACKSLASH = " \\"; //$NON-NLS-1$
 
 	private final RSEEnvironment environment;
 	private static int counter = -1;
@@ -171,9 +172,10 @@
 		final String pattern = "DLTK_INITIAL_PREFIX_EXECUTION_STRING:" //$NON-NLS-1$
 				+ String.valueOf(System.currentTimeMillis());
 		final String echoPattern = "echo \"" + pattern + "\""; //$NON-NLS-1$ //$NON-NLS-2$
-		hostShell.writeToShell(echoPattern + CMD_SEPARATOR
-				+ buildCommand(cmdLine) + CMD_SEPARATOR + echoPattern
-				+ CMD_SEPARATOR + EXIT_CMD);
+		hostShell.writeToShell(echoPattern + CMD_SEPARATOR + BACKSLASH);
+		hostShell.writeToShell(buildCommand(cmdLine) + CMD_SEPARATOR
+				+ BACKSLASH);
+		hostShell.writeToShell(echoPattern + CMD_SEPARATOR + EXIT_CMD);
 		Process p = null;
 		try {
 			p = new MyHostShellProcessAdapter(hostShell, pattern, logger);