Convolution property
First, we define $h_3[n] = h_2[n] \star h_2[n] = [1, 2, 1]$. From this result, we know that $h_1[n]$ must have 5 elements (so that $h[n]$ ends up with 7 elements).

Let's define $h_1[n] = [g_1, g_2, g_3, g_4, g_5]$. We can find these as follows, using the definition of discrete convolution.

First, we know that $g_1 h_3[0] = h[0] = 1$, so $g_1 = 1$.

Then, the next value of the convolution is $h[1] =  g_2 h_3[0] + g_1 h_3[1] = 5$, from which we deduce that $g_2 = 3$.

Then, $h[2] = g_3 h_3[0] + g_2 h_3[1] + g_1 h_3[2] = 9$, or $g_3 = 2$.

You can stop here, since (by symmetry, in this particular example) $g_4 = g_2$ and $g_5 = g_1$.

In general, the problem can be seen as solving a system of linear equations. In this example, we need to solve the system:

$$\begin{bmatrix}
h_3[0] &amp; 0 &amp; 0 &amp; 0 &amp; 0 \\
h_3[1] &amp; h_3[0] &amp; 0 &amp; 0 &amp; 0 \\
h_3[2] &amp; h_3[1] &amp; h_3[0] &amp; 0 &amp; 0 \\
0 &amp; h_3[2] &amp; h_3[1] &amp; h_3[0] &amp; 0 \\
0 &amp; 0 &amp; h_3[2] &amp; h_3[1] &amp; h_3[0] \\
0 &amp; 0 &amp; 0 &amp; h_3[2] &amp; h_3[1] \\
0 &amp; 0 &amp; 0 &amp; 0 &amp; h_3[2]
\end{bmatrix}
\begin{bmatrix}
g_1 \\ g_2 \\ g_3 \\ g_4 \\ g_5
\end{bmatrix}
=
\begin{bmatrix}
h[0] \\ h[1] \\ h[2] \\ h[3] \\ h[4]  \\ h[5] \\ h[6]
\end{bmatrix}$$

Thanks to @Hilmar for pointing out a boneheaded mistake in my original answer!