Хорошо, думаю, я нашел секретный соус, чтобы сделать эту работу. Мой плохой за то, что не обращал внимания на детали.
Решение состоит в том, чтобы запустить оболочку с параметрами --login -i
например, так:
// works
C:\MinGW\msys\1.0\bin\sh.exe --login -i -cur_console:s1THn -new_console:d:d:\src
// doesn't work
C:\MinGW\msys\1.0\bin\sh.exe -cur_console:s1THn -new_console:d:d:\src
И теперь все выглядит хорошо!
--login
обозначает оболочку входа в систему, хотя я понятия не имею, что это значит. -i
Я думаю , для "интерактивных"? Я не смог найти никаких официальных документов об этих двух аргументах, поэтому не уверен.