Suggestions on furthering my skills?

I am fairly 'green' when it comes to UNIX and programming in general. I am going into the start of my second year of my BS in Software Systems Engineering. My first year was pretty slow and simple with basic math, english composition and a few java, databse, and entry level 'psuedo code' programming classes. Now into the start of year two we are tackling Unix head on, and I have to say I have fallen entirely in love with Unix, particularly Ubuntu 904 Desktop (VMWared!)

I've worked my way around the terminal, and we are about to finish up our 'basics of Unix' class and I am eager for more programming and tech-fun!

So where should I go from here? The only real programming language I know is Java, and am diving into shell scripting, but I really don't know what route I should take to learning more and getting more skills under my belt.

I've heard some wonderful things about C+ as a MUST have skill so I am considering that to be my next hurdle, is there any way to tie in C+ to my Unix skills? (C-shell maybe?)

Great suggestion is to learn Perl. Pick up "Learning Perl" (aka "The Llama Book"). Perl is a great skill to have.

Also I would recommend learning sed and awk. And brushing up on your shell scripting.

Yeah I planned on getting a good base knowledge behind me with shell scripting before moving forward with a new programming language.

Also what are some tips to keep motivated toward learning a new language? I don't exactly have daily 'problems' that require I make some cool program to solve them, so do you have any suggestions on practice?

Check Project Euler. The problems posted there get harder with time and will require more than just math skills, require you to look up algorithms (or invent your own), and you'll have to look into other tools, if you want to visualize your results for example.