Eu "quebrei" o meu sistema adicionando entradas ao FSTAB para meus volumes locais assim:
# /etc/fstab
#
# This file is read once by the first process in a Cygwin process tree.
# To pick up changes, restart all Cygwin processes. For a description
# see https://cygwin.com/cygwin-ug-net/using.html#mount-table
# This is default anyway:
none /cygdrive cygdrive binary,posix=0,user 0 0
c:/ /c ntfs text,posix=0 0 0
d:/ /d ntfs text,posix=0 0 0
f:/ /f ntfs text,posix=0 0 0
g:/ /g ntfs text,posix=0 0 0
Eu "consertei" alterando o fstab para:
none /cygdrive cygdrive binary,posix=0,user 0 0
none /tmp usertemp binary,posix=0 0 0
c:/ /c ntfs binary,posix=0,cygexec 0 0
d:/ /d ntfs binary,posix=0,cygexec 0 0
f:/ /f ntfs binary,posix=0,cygexec 0 0
g:/ /g ntfs binary,posix=0,cygexec 0 0
O que eu acho que aconteceu é que, ao não montar 4 drives (c, d, f, g) como "exec", toda vez que cygwin procurava por um externo, ele abria e lia um grande número de arquivos procurando por "magic". bytes "para ver se o arquivo era um executável.
Enquanto isso, o mintty estava armazenando em buffer o que eu digitei como "type ahead" até que eu ctrl-c'd, matando a busca ainda em execução pelo meu comando.
Ao adicionar "cygexec" às opções, a pesquisa agora consulta apenas os flags executáveis nos diretórios e é executada a toda velocidade.