Though multi-step form is your best choice, you can do it with two separate forms as well, using bit of trickery.
Say you have form_id_1 on your path1 URL. And another form_id_2 on your path2.
If you want pass values from the first form to the second, you have 2 options:
1) encode your values in form page path, like path2/arg1/arg2/arg3. Obvious downside is that arguments are visible to the user.
2) hijack Batch<->Form workflow. In form_id_1 submit handler use following code:
$new_form_state = array();
// list path arguments that usually go into form_id_2 constructor from path2
$new_form_state['build_info']['args'] = array();
$new_form_state['method'] = 'post';
// list values you want to pass.
$new_form_state['values'] = array();
$_SESSION['batch_form_state'] = $new_form_state;
User will be redirected to path2 and when form_id_2 is built for that page it will
have your values in its $form_state.