Сначала прочитайте файл в массив
mapfile -t strings < String.txt
Затем выполните итерацию по файлам и получите доступ к каждому элементу массива по очереди:
n=0; for file in *fastq; do echo mv "$file" "${strings[n++]}$file"; done
mv example1.fastq ID1Somestring_example1.fastq
mv example2.fastq IDISomeOtherString_example2.fastq
mv example3.fastq IDISomeThirdString_example3.fastq
Илипри условии, что ваши имена файлов не содержат символов новой строки
paste String.txt <(printf "%s\n" *fastq) |
while read -r string file; do echo mv "$file" "$string$file"; done