What is wrong with this reduction from vertex cover to binary programming?
Your example does not hold since the first entry of $Ax$, 0 is smaller than 1, the first entry of $b$.

$$
\begin{array}{c c c}
&amp;Ax &amp;  &amp;b\\
&amp; \begin{bmatrix}0 \\1 \\2 \\1 \\1\end{bmatrix}
&amp; \not\ge\ 
&amp; \begin{bmatrix}1 \\1 \\1 \\1 \\1 \\\end{bmatrix}
\end{array}
$$

Please note the condition $Ax\ge b$ means every entry in $Ax$ is no less than the corresponding entry in $b$. In term of the corresponding problem, the vertex cover problem, it means every edge is incident to at least 1 vertex. It is not about the $L_1$ norm; otherwise, it should be written as, for example,  $||Ax||_1\ge ||b||_1$. 

Yes, we want to minimize the number of 1's in $x$, which is the same as minimizing $||x||_1$. However, the condition $Ax\ge b$ is a requirement on $x$. The requirements on the variable that are usually read as "subject to ..." and the objective function could be seen as irrelevant or independent to each other.