drubyでcolinuxからWindowsコマンド実行

ちょっと前作ったwinexec*1がもたつくのでこの前のクリップボード同期を応用してもう少しサクサクいけるようにならないものかと実験してみて、とりあえずコマンドの実行自体は簡単にできた。。が、標準入力と標準出力をどうリダイレクトすばいいのかよくわからない。誰か教えて。
今のところとりあえずwindows側で
winexec-executer.rb:

require 'drb/drb'
DRb.start_service('druby://192.168.123.1:12346',Proc.new {|s|
  system "cd #{s.shift}; #{s.shift} #{s}"
    })
sleep

を走らせておいて、colinux側に
winexec2-l.rb:

#!/usr/bin/ruby
require 'drb/drb'
DRbObject.new_with_uri("druby://192.168.123.1:12346").call(ARGV)

とwinexec2:

#!/bin/sh
PWD=$(/bin/pwd) || exit 1
if echo "$PWD" | grep '^/cygdrive' > /dev/null 2>&1; then
        exec ~/scripts/winexec-l.rb "$PWD" "$@"
else
        echo "$(pwd): cannot map to Windows directory"
fi

を置いておいて、

$ cd /cygdrive/c/
$ winexec2 notepad test.txt

とすればサクッとメモ帳が開くようにはなっている。

$ winexec2 "/cygdrive/c/Program\ Files/Mozilla\ Firefox/firefox.exe" www.google.com

とすればcolinuxからWindowsfirefoxでページを開ける。でもコマンドを起動するだけの機能しかないのでplatexなどの対話的なプログラムには使えない。時間できたらruby勉強するかな。