Start bash shell (cygwin) with correct path without changing directory
Solution 1:
It turns out that the cygwin default /etc/profile
checks for an environment variable named CHERE_INVOKING
and inhibits the change of directory if set.
So
set CHERE_INVOKING=1
\path\to\bash.exe -l -c command
has the desired behavior.