for f in IM*.BMP; do
n1=${f:2:1}
n2=${f:3:3}
new="cam$(( n1 + 1 ))-$(( 10#$n2 )).BMP"
echo mv "$f" "$new"
done
$(( ... ))
é uma expansão aritmética. O 10#$n2
força o conteúdo da variável n2 a ser tratada como um número base-10, e os zeros à esquerda são descartados: você não pode usar $(( n2 + 0 ))
porque você teria um erro "octal inválido" para n2 == 008 O $
é opcional dentro de uma expressão aritmética, a menos que você use a notação base #