First Activity1 should have a special launchMode set in the manifest of singleTop. This will make sure another version of Activity1 will not be created if it already sits on top of the stack.
For each activity you want the special back button behavior you should override onBackPressed(). Inside onBackPressed implement the following code:
public void onBackPressed () {
Intent goBackTo1 = new Intent(this, Activity1.class);
goBackTo1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(goBackTo1);
}
The code above will start Activity1 but before it does it will clear all activities after Activity1 in the history stack. When this happens Activity1 will get a new intent delivered to the already running Activity1 in the method onNewIntent(Intent intent).
EX:
Activity1->Activity2->Activity3->Activity4
Will become this when calling onBackPressed from 2,3 or 4 if they implement the code above. You might want to consider a base activity class as to not duplicate code.
Activity1