MSYS シェル上で irb.bat が実行できない

http://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/ から ruby-1.8.5-p12-i386-mswin32.zip をとってきて D:\Ruby にコピーし、D:\Ruby\bin に PATH を通したのですが、なぜか MSYS のシェル上からだと irb.bat が実行できませんでした。

(エラーメッセージ)
/d/Ruby/bin/irb.bat: @echo: command not found
/d/Ruby/bin/irb.bat: line 20: syntax error near unexpected token `IRB.start(__FILE__)'
/d/Ruby/bin/irb.bat: line 20: `  IRB.start(__FILE__)'

どうも MSYS のシェルが .bat ファイルをうまく処理できない ("@echo: command nod found" というメッセージから推測) ようなので、irb.bat の ruby スクリプト部分

require "irb"

if __FILE__ == $0
  IRB.start(__FILE__)
else
  # check -e option
  if /^-e$/ =~ $0
    IRB.start(__FILE__)
  else
    IRB.setup(__FILE__)
  end
end

を抜き出して _irb.rb として保存し、これを irb という名前のシェルスクリプトから呼び出すようにしました。
シェルスクリプト irb を PATH の通ったところに置いておけば、MSYS から "irb" というコマンドで irb を起動することができます。