Непонятно, чего вы хотите достичь, но в любом случае ...
Прежде всего, синтаксис для присвоения значений не
$val=value
, а
val=value
В любом случае
1=value
не сработает, потому что имя переменной не может начинаться с числа.
Чтобы присвоить значения позиционным параметрам, сделайте следующее:
function check_cases {
case $2 in
r) append=' Read';;
w) append=' Write';;
x) append=' Execution';;
esac
set "$1""$append" "$2" # notice no space between "$1" and "$append"
echo "$@" # print all parameters
echo Number of parameters: $#
}