I assume you mean 1. But if they're complaining they can't get enough engineers, it can hardly be that they're also hoarding them, right? At the very least, the companies that are a) paying the most and b) looking for ways to access a larger labor pool have got to be using the engineers they have at near maximum efficiency. Otherwise, those would be weird levers to pull. They actually are the companies that in an honest market get the engineers anyway; they already pay at the top of the market. That they've dodged paying for it in full doesn't change that.
If you look at it from a more negative perspective though, lobbying for more H1-B visas is an even more effective way to decrease engineer compensation, because you can reduce your salaries further by increasing the pressure on US engineers by threatening them (implicitly or explicitly) with losing their jobs to cheap foreign labor. One could easily argue it looks like two sides of the same coin: using every dirty trick available to avoid paying engineers according to their actual value to the company
I'm completely willing to believe that big companies have poor intentions when lobbying the government. H1-Bs are just more market distortion. (I personally believe we should just hand software engineers green cards at the airport and remove the cheapness from foreign labor. More engineers, but without the bullshit.) I'm just saying it doesn't make the engineer shortage less real. All the ways you hold down salaries are ways that companies are dodging honestly dealing with a legit shortage.