There should be shared accounts out there available for no more than $30 a month that will have everything you need.
One thing I've noticed though is that a lot of webhosting companies restrict their systems in a way that is bad for programmers. aplushosting.com has chmod 700 on many binaries (e.g. the "find" command doesn't work) and on some include files needed for compiling software. canaca.com doesn't give you a real shell - instead when you log in, you're running a perl script that they coded and it restricts you to a subset of commands.
If you go for a shared account, make sure to e-mail the webhost and make sure they allow everything you want to do. Webhosts that have a 100% refund trial period would help too.
Another option is a "virtual server" - this is in between a shared account and a dedicated server. It'll typically run $100-200 a month. I host my site animewallpapers.com on a virtual server at servercentral.net. On these, you get access to Apache configuration files and can create accounts (but it's not real root access - I cannot create SHELL accounts, only FTP/mail, and I cannot bind ports <1024). I bring these up because they're not as restricted as shared accounts mentioned above.
If you have time to shop around and want to conserve money as much as possible, I'd suggest trying to find a shared account on a host that can do what you need.