Instantiate with name that can be used in Awake

I need my instantiated object name to be known to the prefab Awake script. Is there any way to do this.
Instantiate does not have a name parameter and using Start is too late since Start runs the next frame.

Not sure what you are trying to do, but you can set name for new instance like this

var go = Instantiate(prefab);
go.name = "NewName";

Can you explain what are you trying to do? If you need to initilize something, you can do this

go.GetComponent<SomeScript>.InitializeStuff();