Você deve conseguir isso com o seguinte código:
#!/bin/bash
lowest=046725
highest=046899
width=6
for (( seq=10#$lowest; seq<=10#$highest; seq++))
do
length='echo -n $seq | wc -c'
if [[ $length < $width ]]; then
number_of_zeroes_to_add='expr $width - $length'
for zeroes in 'seq $number_of_zeroes_to_add';
do echo -n 0;
done
fi
echo $seq
done
O que isso está fazendo é estabelecer uma largura do número (por exemplo, 6 caracteres), identificando números que não correspondem a essa largura porque os zeros à esquerda foram truncados e, em seguida, reinseridos.