Você pode dizer a ls para sempre colorir a saída, já que quando está gravando em um pipe com --color=auto ela não adiciona cor.
Se você usar ls --color=always path | grep --color=never foo , fará ls adicionar cor e evitará que grep substitua por suas próprias cores.