Another useful option is called busybox-w32. It's a small ~400kb exe that works like busybox on linux, where you can call it as many different coreutils functions. The shell it implements is ash rather than full featured bash, but posix shell scripts that don't use bashisms should run fine.
We used to include a copy of busybox-w32 with julia for the sake of passing some of the spawn tests, but took it out as it's not necessary with git 2.x. Busybox is GPL licensed so it's probably better to put in a package.
