Eu mudei o seu shell script para o seguinte código e ele funciona, mesmo assim a divisão por zero ainda existe:
#!/bin/bash
let results=0;
echo "First number please"
read num1
echo "Second number"
read num2
echo "Enter operation a=add, s=subtract, m=multiply, and d=divide"
read Op
if [ "$Op" = "a" ] ; then
results='echo "$num1+$num2" |bc '
elif [ "$Op" = "s" ]; then
results='echo "$num1-$num2" |bc '
elif [ "$Op" = "d" ]; then
results='"$num1/$num2" |echo bc'
elif [ "$Op" = "m" ] ; then
results='echo "$num1*$num2"|bc'
else
echo "Enter operation a=add, s=subtract, m=multiply, and d=divide"
read Op
fi;
echo $results