2)
Also - I am not sure why you have a double dereference in line 6:
echo ${$count}
You do not need the extra 'dollar sign'
3)
Maybe more of a stylistic issue... For the builtin variables (ie the positional variable $#) I like to throw that into my own variable - as it makes the script more legible and I dont have to worry about unintended changes.
Notice how you can iterate using the $# variable (as you do) and use shift to pop off the $1 value off of $@ each time. (look at the ABS guide - iti s clearer than my explanation.
Also read up on 2 issues - spacing and the use of quotes with variables.