cat YOURFILE| (read -r; printf "%s\n" "$REPLY"; sort)
Is header the first line of the file?If it is, try next one:
for i in file* do head -1 ${i} > h${i} sed 1d ${i} | sort -k 1,1 -k 3,3n -t\; >> h${i} rm ${i}done
You can remove the header before sorting using sed. untested code.
for i in file* do sed 1d ${i} | sort -k 1,1 -k 3,3n -t\; > h${i} rm ${i}done