O mal-entendido é que os números não significam o que você espera.
Um zero inicial indica um número com base 8. i.e. 016
é o mesmo que 8#16
. Se você quiser manter o zero inicial, precisará de 10#016
.
> num=016
> echo $((num))
14
> echo $((10#$num))
16