Basta definir
str="$1 $2 $3"
e depois
date -d "$str" +'%A'
Ao escapar das aspas duplas, você as torna parte do valor de $str
e date
não consegue analisá-las.
Você também pode ignorar completamente a variável str
usando $*
:
echo "$*"
date -d "$*" +'%A'