#!/bin/bash
i=0
while IFS= read -r line; do
array1[i]="${line:0:4}"
array2[i]="${line:5:12}"
#echo ${array1[i]} ${array2[i]}
i=$((i + 1))
done <$1
para cada linha que ele lê, ela é dividida e armazenada na eq. slot de matriz. Eu não adicionei os ecos para arrayX [i], mas você pode testar isso. Espero que isso funcione para você.