Você está tendo problemas com a citação porque está chamando popen com uma linha de comando, que é passada para o shell. O analisador de strings de Ruby está comendo as aspas duplas ou comendo a barra invertida. Você pode chamar o popen com uma matriz de strings, que irá ignorar o shell, ou você pode escrever emacs foo\ bar
, que escapará da barra invertida que você quer que o Ruby deixe para o shell ver.