I disagree. An unprivileged shell is much better than no shell at all. It can help you run commands necessary to escalate your privileges to root. It also may give you enough rights to acquire your objective - e.g. you will be able to read certain files on the system, you will be able to send network traffic and potentially use the system as a pivot, etc, etc.
Use a privilege escalation exploit. They usually involve either exploiting the Linux kernel or a kernel module, exploiting a program that is running as root or exploiting a program that can be made to run as root (e.g. a SUID binary). Search the Exploit DB for local exploits on Linux, you should be able to find a few.
If you also read up on privileges in Linux and the various ways to run something as root you will also learn how to check for configuration flaws that may lead to the possibility of privilege escalation. From memory, Hacking Exposed has a chapter on this. This blog entry also has some hints in this direction.



