Это на самом деле индексированный массив или список в строке?
Массив:
UNSORTED_ARR=(100911 111228 090822)
SORTED_ARR=($(printf "%s\n" ${UNSORTED_ARR[@]} | sort -n))
Строка:
UNSORTED_ARR="100911, 111228, 090822"
SORTED_ARR=$(IFS=, printf "%s\n" ${UNSORTED_ARR[@]} | sort -n | sed ':a;$s/\n/,/g;N;ba')
Есть несколько других способов сделать это, но принцип тот же.
Вот еще один способ для строки, использующий другую технику:
set -s -- ${UNSORTED_ARR//,}
SORTED_ARR=$@
SORTED_ARR=${SORTED_ARR// /, }
Обратите внимание, что это лексикографическая сортировка, поэтому вы могли бы видеть такие вещи, когда числа не имеют начальных нулей:
$ set -s -- 10 2 1 100 20
$ echo $@
1 10 100 2 20