Let us rewrite the two equations in your question like this to avoid using the same symbols for different parameters:
$income = \beta_0 + \beta_1 edu + \beta_2 age + \epsilon$, if male = 0
$income = \gamma_0 + \gamma_1 edu + \gamma_2 age + \epsilon$, if male = 1
You can account for the possibility of different coefficients by adding interaction terms for education and sex, and age and sex, and then running a single regression. So you can do this:
$income = \beta_0 + \beta_1 edu + \beta_2 age + \beta_3 male + \beta_4 (edu * male) + \beta_5 (age * male) +\epsilon$
The equation with interaction terms can cover both the cases, and also account for different slope coefficients.
If male = 0, we have,
$income = \beta_0 + \beta_1 edu + \beta_2 age +\epsilon$
This is exactly your first case, where sex $\neq$ male, or male = 0.
Now, if male = 1, we have, from the equation with interaction terms,
$income = (\beta_0 + \beta_3) + (\beta_1 + \beta_4) edu + (\beta_2 + \beta_5) age + \epsilon$
Here, $\beta_0 + \beta_3 = \gamma_0, \beta_1 + \beta_4 = \gamma_1, \beta_2 + \beta_5 = \gamma_2$
So this coincides with your second case where sex = male, or male = 1. In this case you just need to do the additions as indicated to find the coefficients.
In conclusion, your plan is equivalent to running the regression with interaction terms outlined above. You can calculate your coefficients of interest by just doing the necessary additions. As an example, suppose you ran the regression and your results are like this:
$income = 0.1 + 0.2 edu + 0.3 age + 0.4 male + 0.5 (edu * male) + 0.6 (age * male) +\epsilon$
Then we have, $\beta_0 = 0.1, \beta_1 = 0.2, \beta_2 = 0.3, \gamma_0 = 0.1 + 0.4 = 0.5, \gamma_1 = 0.2 + 0.5 = 0.7, \gamma_2 = 0.3 + 0.6 = 0.9$
Furthermore, as pointed out by @Giskard in the comments, you can test whether including the interaction terms (and thus, allowing for different slopes) is even worthwhile. There are multiple ways to do this. You can take a look at this for an example, as this is a case of nested models.