Você nem precisa de grep para isso:
ls -1d [^abcfghxyz][^abcfghxyz]*
Isso usa a opção ls -1 para obter um nome de arquivo por linha em vez de saída colunar, e a opção -d para impedir que ls liste o conteúdo de quaisquer subdirectores que correspondam ao glob.
Outra alternativa é usar find (para que você possa limitar explicitamente a saída para arquivos regulares e não para diretórios ou links simbólicos, etc.):
find . -maxdepth 1 -type f -name '[^abcfghxyz][^abcfghxyz]*'