We have a MPLS WAN connecting our offices from our Service Provider. Our Head Office has a larger 50Mbps pipe and a remote office has 2 separate 2Mbps links (lets call them link1 and link2). Right now all traffic only goes over Link1 at the remote office as per all the BGP routing. I can make a static route at the remote office for specific traffic to go over link2 and it will successfully send over that link. My question is, is there a way to get traffic from Head Office to go to Link2 instead of Link1?
You can use BGP attributes like weight or Local-Preference to force traffic going from Remote->Head using the Link2, but be carefully of asymmetric routing. Because Head can sending trough Link1 and your remote sending trough Link2 (because of manipulate the inbound traffic)
It primary depends on BGP routing. You can try to change the way ISP send traffic to you branch using different BGP path attribute in advertisement on the two links but you have to negotiated with ISP because they can also "force" their netwrok to use on path instead of the other for example using BGP local preference. I suggest you to read here to understand BGP algorithm:
Based on the information provided, I would probably suggest manipulate the routing on the remote site router given its only one router with two links
Outbound : - use WIEGHT attribute (locally significant to the router and apply higher weight value on preferred bgp link)
Inbound : - use AS-PATH prepending (applied to the least proffered bgp link)
I completely agree with Paul but I suggest to verify ISP's policy in primary/backup links management because they could also use local pref (or some-other way like "weight" if they use Cisco routers) to avoid load balancing and determine which link is the primary and which is the backup.