Esto funciona sin evaluación:
prod=$(echo {1..5}* 1); echo $((prod))
Aquí hay una función bash, que toma un parámetro, lo que no es posible en la solución anterior:
fak ()
{
echo $(($(seq -s'*' 1 $1)))
}
Como señaló cas en los comentarios, Shell está limitado a 64 bits, para obtener mejores resultados, vale la pena intentarlo, pero eso no es puro, ¿verdad? Bueno -ese argumento también cuenta para seq; es un programa externo.
echo {1..30}* 1 | bc