Você pode usar o fgrep para especificar todas as palavras permitidas:
if $(echo "$WORD" | fgrep -wq -e dog -e cat -e horse) ; then
echo yes
else
echo no
fi
O -wsinalizador corresponde apenas a palavras completas, o -qsinalizador faz com que ele funcione silenciosamente (porque tudo o que precisamos é o valor de retorno para a instrução if usar), e cada -epadrão especifica um padrão a ser permitido.
fgrepé a versão do grep que faz a correspondência normal de cadeias de caracteres em vez da correspondência de regex. Se você tiver grep, você deve ter fgrep, mas se não, é idêntico ao uso grepcom a -Fbandeira (então você substitui fgrep -wqacima por grep -Fwq).
shopt -s nocasematchpode ajudar se você desejar que a pesquisa não diferencie maiúsculas de minúsculas.