é simples o suficiente para criar sua própria função open
do shell que verifica a extensão do arquivo e faz algo especial para .pdf e usa o cygstart para todo o resto. Por exemplo
function open
{
case "$1" in
*.pdf) sumatraPDF "$1";;
*) cygstart "$1";;
esac
}