I need to point admin.company.com
to 192.168.2.100/admin
How can I do that?
You cannot do this through etc hosts. You are mixing up 2 different protocols here, http and dns. /etc/hosts will help you redirect admin.company.com to 192.168.2.100, but you need to the redirection to /admin on the web server.
If you are using apache you want to likely used named virtual hosts
...
Port 80
ServerName server.domain.tld
NameVirtualHost 111.22.33.44
<VirtualHost 111.22.33.44>
DocumentRoot /www/domain
ServerName www.domain.tld
...
</VirtualHost>
<VirtualHost 111.22.33.44>
DocumentRoot /www/subdomain
ServerName www.sub.domain.tld
...
</VirtualHost>
This article outlines this: http://httpd.apache.org/docs/1.3/vhosts/examples.html