パスは自動的に変換してくれるようなので、文字コードが問題と見た。
iconv使ってsjisに変換だと色々とアレなので、ロケールをutf-8にしようと思った(Linux側がutf-8以外だと問題あるが、sjis外の文字でも安心)。
setlocale(LC_CTYPE, "Japanese_Japan.65001")としてみたがnull返してうまく動作しない。dlls/msvcrt/locale.c読んだらダメダメなことが判明。うーむ。。。
それと、wineにはCP_UNIXCPという便利なものもあるけど、setlocaleには使えない伊予柑。