Не работает конструкция вида

a="12345"
echo "${a}"
echo "${a:3}" <-здесь выдает ошибку "cp_list: 9: Bad substitution"
однако в статьях пишут что это должно работать
http://www.opennet.ru/tips/info/866.shtmlполучается, что в ubuntu какой-то свой bash?
Весь скрипт
#!/bin/bash
# первый параметр это имя файла со списком
# второй параметр это путь назначения
# IFS нужно поменять на всякий случай если в именах файлов есть пробелы, а то чтение будет не по строкам, а по пробелам
a="12345"
echo "${a}"
echo "${a:3}"
Весь вывод:
12345
5
cp_list: 9: Bad substitution