Você precisará citar a expressão do shell:
grep -i '^[^aeiou][aeiou]*$' /usr/share/dict/words
Se você não fizer isso, os padrões podem ser expandidos para nomes de arquivos que existem no diretório atual. Além disso, como você inseriu um espaço entre as duas partes do padrão, grep pensará que a segunda parte é um nome de arquivo que deve ser pesquisado (você receberá um erro "Nenhum arquivo ou diretório").
O arquivo /usr/share/dict/words tem uma palavra por linha, portanto, você pode usar -x e remover as âncoras da expressão, se desejar:
grep -ix '[^aeiou][aeiou]*' /usr/share/dict/words
Com -x , grep só retornará correspondências que abranjam toda a linha.
Se você exigir uma vogal (o acima pode retornar palavras consonantais únicas, pois [aeiou]* corresponde à string vazia):
grep -ix '[^aeiou][aeiou][aeiou]*' /usr/share/dict/words
ou
grep -Eix '[^aeiou][aeiou]+' /usr/share/dict/words