Normally, you could use ls $dir but, you need to use ls -a $dir to get the hidden files.
Try it first and if it looks good, remove the echo from this line...
echo mv -v "$dir/$i" "$dir/$j"
Edit: I may as well beat everyone to shortening the sed.
Code:
#!/bin/bash
usage()
{
echo "Usage: $0 Directory_Name"
exit 1;
}
test -d "$1" || usage
dir="$1"
ls -a $dir | \
while read i; do
j=`echo -e "$i" | sed -e 's/^.//g'`
echo mv -v "$dir/$i" "$dir/$j"
done